#ifndef STCKTP1_H_
#define STCKTP1_H_

template <typename T>
class Stack
{
private:
    enum {SIZE = 10};   // 常量，默认大小
    int stacksize;

    T * items;
    int top;

public:
    explicit Stack(int ss = SIZE);
    Stack(const Stack & st);
    ~Stack() {delete[] items;}

    bool isEmpty() {return top == 0;}
    bool isFull() {return top == stacksize; }
    bool push(const T & item);
    bool pop(T & item);
    Stack & operator = (const Stack & st);
};

template<typename T>
Stack<T>::Stack(int ss)
{
    
}

template<typename T>
Stack<T>::Stack(const Stack & st)
{

}

#endif